package jp.syuriken.snsw.terenaibot.format;

/**
 * フォーマット用関数
 * 
 * @author $Author: snswinhaiku.lo@gmail.com $ */
public interface FormatFunction {
	
	/**
	 * 関数を実行して返り値を得る。
	 * 
	 * <p>この関数の中では<strong style="color: red;">絶対に null を返さないで下さい</strong></p>
	 * @param args 引数の配列
	 * @param compileArg {@link CompileArg}インスタンス。
	 * @return 返り値
	 * @throws FormatSyntaxException 関数の実行に失敗しました
	 */
	String getReturnValue(PrecompiledSyntaxGroup[] args, CompileArg compileArg) throws FormatSyntaxException;
	
}
